package psn.hui.sys.service;

import java.util.List;
import psn.hui.sys.domain.Menu;
import psn.hui.sys.utils.DataGridView;
import psn.hui.sys.vo.MenuVo;

/**
 * 菜单管理接口
 * @author hui
 *
 */
public interface MenuService {
	
	/**
	 * 插入菜单数据，带动态sql
	 * @param record
	 * @return
	 */
	int insertSelective(Menu record);
	/**
	 * 根据id修改菜单数据
	 * @param record
	 * @return
	 */
	int updateByPrimaryKeySelective(Menu record);
	/**
	 * 根据id删除菜单数据
	 * @param id
	 * @return
	 */
	int deleteById(Integer id);
	/**
	 * 根据id统计其子菜单的数量
	 * @param id
	 * @return
	 */
	int countChildrenById(Integer id);
	
	 /**
     * 	条件查询所有菜单
     */
    public List<Menu> queryAllMenuForList(Menu menu);
    
    /**
     * 	根据用户ID查询用户可用菜单
     */
    public List<Menu> queryMenuByUserIdForList(Menu menu, Integer userId);
    
    /**
     * 	根据rid查询其拥有的菜单
     * @param rid
     * @return
     */
	List<Menu> queryMenuByRid(Integer rid);
}
